﻿namespace FFF.Test.Entity.Framework.Entity
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    using System.Text;
    using Abp.Domain.Entities;

    /// <summary>
    /// Entity的基类
    /// </summary>
    /// <typeparam name="TPrimaryKey">entity的主键的类型</typeparam>
    public abstract class BaseTreeEntity<TPrimaryKey> : BaseEntity<TPrimaryKey>
    {
        /// <summary>
        /// 父级的ID
        /// </summary>
        [Column("ParentGUID")]
        [Display(Name = "父级的ID", Description = "父级的ID")]
        public virtual Guid? ParentGUID { get; set; }

        /// <summary>
        /// 树形的层级Code(001.001) 这种
        /// </summary>
        [Column("FullCode")]
        [Display(Name = "树形的层级Code", Description = "树形的层级Code")]
        public virtual string FullCode { get; set; }

        /// <summary>
        /// 树形的排序编码
        /// </summary>
        [Column("OrderCode")]
        [Display(Name = "树形的层级Code", Description = "树形的层级Code")]
        public virtual string OrderCode { get; set; }

        /// <summary>
        /// 对应的图标
        /// </summary>
        [Column("Icon")]
        [Display(Name = "对应的图标", Description = "对应的图标")]
        public virtual string Icon { get; set; }
    }
}
